package com.sdry.basic.service;
import com.sdry.basic.entity.ContainerStare;
import com.sdry.basic.entity.ContainerStareRecord;

import java.util.List;
/**
 *
 *@ClassName: ContainerStareService
 *@Description: 容器装载信息
 *@Author tdd
 *@Date 2020-03-11 12:05:16
 *@version 1.0
*/
public interface ContainerStareService {
	/** 
	 * 根据主键id查询实体
	 * @param id 主键id
	 * @return 实体
	*/
	public ContainerStare queryById(Long id);
	/** 
	 * 条件查询所有
	 * @param param 实体条件
	 * @return 实体集合
	*/
	public List<ContainerStare> queryAllByMution(ContainerStare param);
	/**
	 * 条件查询装载记录
	 * @param param 实体条件
	 * @return 实体集合
	*/
	public List<ContainerStareRecord> queryContainerStareRecordByMution(ContainerStareRecord param);
	/** 
	 * 条件分页查询
	 * @param param 实体条件
	 * @return 实体集合
	*/
	public List<ContainerStare> findPageByMution(ContainerStare param);
	/** 
	 * 条件查询记录数
	 * @param param 实体条件
	 * @return 实体集合
	*/
	public Integer selectCountByMution(ContainerStare param);
	/**
	 * 条件分页查询装载记录
	 * @param param 实体条件
	 * @return 实体集合
	*/
	public List<ContainerStareRecord> findContainerStareRecordPageByMution(ContainerStareRecord param);
	/**
	 * 条件查询装载记录数
	 * @param param 实体条件
	 * @return 实体集合
	*/
	public Integer selectContainerStareRecordCountByMution(ContainerStareRecord param);
	/**
	 * 条件分页查询所有（包括成品库）容器装载信息记录
	 * @param param 实体条件
	 * @return 实体集合
	*/
	public List<ContainerStareRecord> findAllContainerStareRecordPageByMution(ContainerStareRecord param);
	/**
	 * 条件查询所有（包括成品库）容器装载信息记录数
	 * @param param 实体条件
	 * @return 实体集合
	*/
	public Integer selectAllContainerStareRecordCountByMution(ContainerStareRecord param);
	/** 
	 * 插入返回id
	 * @param param 实体条件
	 * @return 主键id
	*/
	public Long insert(ContainerStare param);
	/**
	 * 容器装载记录插入数据返回id
	 * @param param 实体条件
	 * @return 主键id
	*/
	public Long containerStareRecordInsert(ContainerStareRecord param);
	/** 
	 * 根据主键更新 返回影响行数
	 * @param param 实体条件
	 * @return 影响行数
	*/
	public Integer update(ContainerStare param);
	/** 
	 * 根据主键拼接的字符串删除返回影响行数
	 * @param ids 主键拼接的字符串
	 * @return 影响行数
	*/
	public Integer delete(String ids);
	/**
	 * 根据容器id拼接的字符串删除返回影响行数
	 * @param ids 主键拼接的字符串
	 * @return 影响行数
	 */
	public Integer  deleteByCids(String ids);

	/**
	 * 根据条件分页查询容器装载总计
	 * @param param 容器装载
	 * @return
	 */
    List<ContainerStare> findStareListPageByMution(ContainerStare param);

	/**
	 * 根据条件分页查询容器装载总计条数
	 * @param param
	 * @return
	 */
	Integer selectStareListCountByMution(ContainerStare param);
	/**
	 * 根据条件分页查询容器装载详情总计
	 * @param param 容器装载
	 * @return
	 */
    List<ContainerStare> findStareListDetailPageByMution(ContainerStare param);
	/**
	 * 根据条件分页查询容器装载详情总计条数
	 * @param param
	 * @return
	 */
	Integer selectStareListDetailCountByMution(ContainerStare param);
	/**
	 * 根据条件分页查询成品链和成品库总库存
	 * @param param 实体条件
	 * @param
	 */
	List<ContainerStare> findGoodPageByMution(ContainerStare param);
	/**
	 * 根据条件分页查询成品链和成品库总库存条数
	 * @param param 实体条件
	 * @param
	 */
	Integer selectGoodCountByMution(ContainerStare param);

	/**
	 * 定时任务
	 */
    void scheduleTask();
}
